<template>
    <!-- 问题:不知道什么时候能拿到max值,但总会有一刻得到max -->
    <!-- 我们可以使用watch属性监听,父组件传递过来的max值,不管watch会被触发几次,但是最后一次肯定是合法的max数值-->
    <div class="mui-numbox" data-numbox-min='1'>
        <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
        <!-- change是input输入框的原生事件 -->
        <input id="test" class="mui-input-numbox" type="number" value="1" @change="countChanged" ref="numbox"/>
        <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    </div>
    <!-- 分析:子组件什么时候把数据传递给父组件 -->
</template>

<script>
import mui from "../../lib/mui/js/mui.min.js"
export default{
    mounted(){
        //初始化数字选择框组件，使首次进入页面可用
        mui(".mui-numbox").numbox();
        console.log(this.max)
    },
    methods:{
        countChanged(){
            //每当文本框的数据被修改的时候,立即把最新的数据,通过事件调用,传递给父组件
            // console.log(this.$refs.numbox.value)
            this.$emit('getcount',parseInt(this.$refs.numbox.value))
        }
    },
    props:['max'],
    watch:{
        //属性监听
        'max':function(newVal,oldVal){
            //使用mui提供的js api设置numbox的最大值
            mui('.mui-numbox').numbox().setOption('max',newVal);
        }
    }
};
</script>

<style scoped>
    
</style>